#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
// templates ----
// 1. sieve ---- sieve of eratosthenes
// 2. binpow ---- binary exponentiation
// 3. segmentTreeMin ---- minimum segment tree
const int MOD = (int)1e9 + 7;
void take_input() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
void solve() {
int n,k; cin >> n >> k;
string s; cin >> s;
std::vector<int> l(k),r(k);
for(int i = 0; i < k; i++)
cin >> l[i];
for(int i = 0; i < k; i++)
cin >> r[i];
int q; cin >> q;
map<int, vector<int>> mp;
for(int i = 0; i < q; i++) {
int x; cin >> x;
// now finding l and r
int ind = lower_bound(l.begin(),l.end(),x) - l.begin();
if(ind >= k || l[ind] > x) ind -= 1;
if(mp.count(ind) == 0) mp[ind] = vector<int>(r[ind]-l[ind]+2,0);
int a = min(x, l[ind] + r[ind] - x);
int b = max(x, l[ind] + r[ind] - x);
mp[ind][a - l[ind]] += 1;
mp[ind][b - l[ind] + 1] -= 1;
}
for(auto item: mp) {
int ind = item.first;
int size = item.second.size()-1;
for(int i = 1; i < size; i++)
item.second[i] += item.second[i-1];
int i = 0, j = size - 1;
int a = l[ind]-1, b = r[ind]-1;
while(i < j) {
if(item.second[i] % 2)
swap(s[a],s[b]);
a++,b--,i++,j--;
}
}
cout << s << endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
take_input();
int t; cin >> t;
while(t--) {
solve();
}
return 0;
}
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |
1335A - Candies and Two Sisters | 96B - Lucky Numbers (easy) |
1151B - Dima and a Bad XOR | 1435B - A New Technique |
1633A - Div 7 | 268A - Games |
1062B - Math | 1294C - Product of Three Numbers |
749A - Bachgold Problem | 1486B - Eastern Exhibition |
1363A - Odd Selection | 131B - Opposites Attract |
490C - Hacking Cypher | 158B - Taxi |
41C - Email address | 1373D - Maximum Sum on Even Positions |
1574C - Slay the Dragon | 621A - Wet Shark and Odd and Even |
1395A - Boboniu Likes to Color Balls | 1637C - Andrew and Stones |
1334B - Middle Class | 260C - Balls and Boxes |
1554A - Cherry | 11B - Jumping Jack |